Rabada took four for 37 and Philander four for 27. The Sri Lankan batting crumbled after Rabada broke a stubborn opening partnership. Kaushal Silva and Dimuth Karunaratne defied South Africa's new ball attack for 73 minutes, putting on 31 runs before Rabada made the breakthrough in the 16th over when Silva was forced on to the back foot by a lifting delivery which he played on to his stumps.
Sri Lanka lost a second wicket shortly before tea when Kusal Mendis, who had earlier slog-swept left-arm spinner Keshav Maharaj for six, tried to repeat the shot and top-edged a simple catch to JP Duminy at short cover. The innings went into an irreversible slide three balls after tea when Dimuth Karunaratne, who had made a patient 24, square-cut Rabada and Temba Bavuma dived to take a sharp, low catch at backward point.
Rabada and Maharaj reduced the Lankans to 78 for six. Upul Tharanga and Rangana Herath put on 22 for the seventh wicket before Philander wrapped up the innings by taking the final four wickets at a personal cost of five runs in 12 balls. Maharaj, bowling into a strong south-easterly wind, took two for 32 while the two fast bowlers took seven of their combined eight wickets with the wind at their backs.
Both Rabada and Philander reached personal milestones. Rabada took his 50th wicket in his 13th Test, while Philander achieved 150 wickets in 39 Tests. Earlier Quinton de Kock made his third Test century and fast bowler Lahiru Kumara took six wickets as South Africa were bowled out for 392 in their first innings. Kumara, 19, who had not taken more than two wickets in an innings in his previous two Test matches and three other first-class games, finished with six for 122.
De Kock took his score from 68 to 101, made off 124 balls with 11 fours, before edging Kumara to wicketkeeper Dinesh Chandimal. Seven South Africans were caught behind, three by Mendis when Chandimal was suffering from a fever on the first day and four by Chandimal on Tuesday. The combined wicketkeeping haul was one more than the Sri Lankan Test record and equal to the world record.
=============================================
Scoreboard
=============================================
South Africa, first innings (overnight 297-6)
=============================================
S. Cook c Mendis b Lakmal 0
D. Elgar c Mendis b Lakmal 129
H. Amla b Kumara 29
J. Duminy c Mendis b Kumara 0
F. du Plessis c Mathews b Herath 38
T. Bavuma c Tharanga b Kumara 10
Q. de Kock c Chandimal b Kumara 101
K. Abbott c Chandimal b Herath 16
V. Philander c Chandimal b Kumara 20
K. Maharaj not out 32
K Rabada c Chandimal b Kumara 8
---------------------------------------------
Extras: (lb3, nb1, w5) 9
Total: (116 overs) 392
=============================================
Fall of wickets: 1-0 (Cook), 2-66 (Amla), 3-66 (Duminy), 4-142 (Du Plessis), 5-169 (Bavuma), 6-272 (Elgar), 7-303 (Abbott), 8-336 (De Kock), 9-376 (Philander), 10-392 (Rabada)
Bowling: Lakmal 27-4-93-2, Pradeep 15.4-3-46-0, Mathews 17-3-41-0 (1w), Kumara 25-1-122-6 (1nb, 4w), Herath 23.2-4-57-2, De Silva 8-0-30-0.
=============================================
Sri Lanka, first innings
=============================================
D. Karunaratne c Bavuma b Rabada 24
K. Silva b Rabada 11
K. Mendis c Duminy b Maharaj 11
D. de Silva lbw b Maharaj 16
A. Mathews c Du Plessis b Rabada 2
D. Chandimal c De Kock b Rabada 4
U. Tharanga not out 26
R. Herath lbw b Philander 1
S. Lakmal c Amla b Philander 0
L. Kumara b Philander 4
N. Pradeep c Du Plessis b Philander 0
---------------------------------------------
Extras: (lb5, nb1, w5) 11
Total: (43 overs) 110
=============================================
Fall of wickets: 1-31 (Silva), 2-56 (Mendis), 3-56 (Karunaratne), 4-60 (Mathews), 5-78 (De Silva), 6-78 (Chandimal), 7-100 (Herath), 8-100 (Lakmal), 9-110 (Kumara), 10-110 (Pradeep)
Bowling: Philander 12-4-27-4 (1nb), Abbott 8-3-9-0, Rabada 12-2-37-4 (1w), Maharaj 11-1-32-2.
=============================================
South Africa, second innings
=============================================
S. Cook not out 15
D. Elgar not out 19
---------------------------------------------
Extras: (w1) 1
Total: (0 wkts, 11 overs) 35
=============================================
Bowling: Lakmal 5-1-16-0, Pradeep 2-0-5-0, Kumara 4-0-14-0 (1w)
Match situation: South Africa lead by 317 runs with ten wickets remaining in the second innings
Toss: Sri Lanka
Umpires: Aleem Dar (PAK), Rod Tucker (AUS)
TV umpire: Bruce Oxenford (AUS)
Match referee: David Boon (AUS).
Copyright Agence France-Presse, 2017